package cn.tx.doubaodemo.util;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonUtils {

    public static String toJSONString(Object object) {
        return switch (object) {
            // jdk14新特性，可以在instanceof后直接定义变量，结合jdk17新特性，switch中可以使用instanceof模式匹配选择
            case String str -> str;
            case Integer integer -> integer.toString();
            default -> {
                ObjectMapper objectMapper = new ObjectMapper();
                try {
                    yield objectMapper.writeValueAsString(object);
                } catch (JsonProcessingException e) {
                    System.err.printf("jackson转换失败。 原因：%s%n", e.getMessage());
                    yield null;
                }
            }
        };
    }

}
